<?php

class GuitarclassController extends Controller
{
	/**
	 * @var string the default layout for the views. Defaults to '//layouts/column2', meaning
	 * using two-column layout. See 'protected/views/layouts/column2.php'.
	 */
	public $layout='//layouts/column2';

	/**
	 * Displays a particular model.
	 * @param integer $id the ID of the model to be displayed
	 */
	public function actionView($id)
	{
		$this->render('view',array(
			'model'=>$this->loadModel($id),
		));
	}

    public function actionGdata(){
        $wuser = WpUsers::model()->findAll();
        if($wuser){
            foreach($wuser as $wu){
                /**
                 *  @var $wu WpUsers
                 */
                $user = new User();
                $user->username = $wu['user_login'];
                $user->password = $wu['user_pass'];
                $user->email = $wu['user_email'];
                $user->display_name = $wu['user_nicename'];
                $user->home_page = $wu['user_url'];
                $user->registered_time = strtotime($wu['user_registered']);
                $user->save();
            }
        }
    }
	/**
	 * Creates a new model.
	 * If creation is successful, the browser will be redirected to the 'view' page.
	 */
	public function actionCreate()
	{
		$model=new GuitarClass;

		// Uncomment the following line if AJAX validation is needed
		// $this->performAjaxValidation($model);

		if(isset($_POST['GuitarClass']))
		{
            if ($_POST['GuitarClass']['start_time'] && !is_numeric($_POST['GuitarClass']['start_time'])) {
                $arrDate = explode('/', $_POST['GuitarClass']['start_time']);
                $_POST['GuitarClass']['start_time'] = mktime(0, 0, 0, $arrDate[1], $arrDate[0], $arrDate[2]);
            }
            if ($_POST['GuitarClass']['end_time'] && !is_numeric($_POST['GuitarClass']['end_time'])) {
                $arrDate = explode('/', $_POST['GuitarClass']['end_time']);
                $_POST['GuitarClass']['end_time'] = mktime(0, 0, 0, $arrDate[1], $arrDate[0], $arrDate[2]);
            }
			$model->attributes=$_POST['GuitarClass'];
            if($model->save()){

                $session=new CHttpSession;
                $session->open();
                if(isset($session['tkb_time'])){

                    $tkb = unserialize($session['tkb_time']);

                    foreach($tkb as &$tk){
                        $tk->class_id = (int)$model->id;
                        if(!$tk->save()){
                            var_dump($tk->errors);die;
                        }
                    }
                    //var_dump($tkb);die();
                    unset($session['tkb_time']);

                }
                $this->redirect(array('view','id'=>$model->id));
            }

		}

		$this->render('create',array(
			'model'=>$model,
		));
	}

	/**
	 * Updates a particular model.
	 * If update is successful, the browser will be redirected to the 'view' page.
	 * @param integer $id the ID of the model to be updated
	 */
	public function actionUpdate($id)
	{
		$model=$this->loadModel($id);

		// Uncomment the following line if AJAX validation is needed
		// $this->performAjaxValidation($model);

		if(isset($_POST['GuitarClass']))
		{
            if ($_POST['GuitarClass']['start_time'] && !is_numeric($_POST['GuitarClass']['start_time'])) {
                $arrDate = explode('/', $_POST['GuitarClass']['start_time']);
                $_POST['GuitarClass']['start_time'] = mktime(0, 0, 0, $arrDate[1], $arrDate[0], $arrDate[2]);
            }
            if ($_POST['GuitarClass']['end_time'] && !is_numeric($_POST['GuitarClass']['end_time'])) {
                $arrDate = explode('/', $_POST['GuitarClass']['end_time']);
                $_POST['GuitarClass']['end_time'] = mktime(0, 0, 0, $arrDate[1], $arrDate[0], $arrDate[2]);
            }
			$model->attributes=$_POST['GuitarClass'];
			if($model->save()){
                $session=new CHttpSession;
                $session->open();
                if(isset($session['tkb_time'])){

                    $tkb = unserialize($session['tkb_time']);

                    foreach($tkb as &$tk){
                        $tk->class_id = (int)$model->id;
                        if(!$tk->save()){
                            var_dump($tk->errors);die;
                        }
                    }
                    //var_dump($tkb);die();
                    unset($session['tkb_time']);

                }
                $this->redirect(array('view','id'=>$model->id));
            }

		}

		$this->render('update',array(
			'model'=>$model,
		));
	}

	/**
	 * Deletes a particular model.
	 * If deletion is successful, the browser will be redirected to the 'admin' page.
	 * @param integer $id the ID of the model to be deleted
	 */
	public function actionDelete($id)
	{
		if(Yii::app()->request->isPostRequest)
		{
			// we only allow deletion via POST request
			$this->loadModel($id)->delete();

			// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
			if(!isset($_GET['ajax']))
				$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
		}
		else
			throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
	}

    public function actionDeltime($id){
        $classtime = Classtime::model()->findByPk($id);
        if($classtime->delete()){
            header("Content-Type: application/json");
            echo json_encode(array('success'=>1,'id'=>$id));

        }
    }
	/**
	 * Lists all models.
	 */
	public function actionIndex()
	{
        $model=new GuitarClass('search');
        $model->unsetAttributes();  // clear any default values
        if(isset($_GET['GuitarClass']))
            $model->attributes=$_GET['GuitarClass'];

        $this->render('index',array(
            'model'=>$model,
        ));
	}

    public function actionAccept()
    {
        $id = $_GET['id'];
        $ok = $_GET['ok'];
        $userid = $_GET['userid'];
        if($id){
            $st = Students::model()->findByPk($id);
            $st->accept = $ok;
            if($st->save()){
                if(!$ok){
                    $user = User::model()->findByPk($userid);
                    $user->role = 'register';
                    $user->save();
                }
                header("Content-Type: application/json");
                echo json_encode(array('ok'=>1));
            }else{
                header("Content-Type: application/json");
                echo json_encode(array('ok'=>0));
            }
        }

    }

    public function actionDeletest($id){
        $classid = $_GET['classid'];
        $db = Yii::app()->db;
        $cmd = $db->createCommand("DELETE FROM tbl_clstudent WHERE class_id = {$classid} AND student_id = {$id}");
        $cmd->execute();
        $st = Students::model()->findByPk($id);
        $st->delete();
    }

	/**
	 * Returns the data model based on the primary key given in the GET variable.
	 * If the data model is not found, an HTTP exception will be raised.
	 * @param integer the ID of the model to be loaded
	 */
	public function loadModel($id)
	{
		$model=GuitarClass::model()->findByPk($id);
		if($model===null)
			throw new CHttpException(404,'The requested page does not exist.');
		return $model;
	}

	/**
	 * Performs the AJAX validation.
	 * @param CModel the model to be validated
	 */
	protected function performAjaxValidation($model)
	{
		if(isset($_POST['ajax']) && $_POST['ajax']==='guitar-class-form')
		{
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}
	}
}
